Micron Document
NexusPi Git Node

Node / mirrors / RTNode-HeltecV4 / files / docs / index.html

Displaying Raw • Download

docs/index.html bac9ea9ccccb4c0beebdbee12b4a046c862ace25 (bac9ea9c) Text, 12.69 KB

Tff7b72<!DOCTYPE html>
Tb4b4b4<Tff7b72html Te6edf3langTff7b72=Ta5d6ff"en"Tb4b4b4>
Tb4b4b4<Tff7b72headTb4b4b4>
Tb4b4b4<Tff7b72meta Te6edf3charsetTff7b72=Ta5d6ff"UTF-8"Tb4b4b4>
Tb4b4b4<Tff7b72meta Te6edf3nameTff7b72=Ta5d6ff"viewport" Te6edf3contentTff7b72=Ta5d6ff"width=device-width, initial-scale=1.0"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>RTNode Firmware FlasherTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3typeTff7b72=Ta5d6ff"module" Te6edf3srcTff7b72=Ta5d6ff"https://unpkg.com/esp-web-tools@10/dist/web/install-button.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72styleTb4b4b4>
Tff7b72*Tff7b72, Tff7b72*Tb4b4b4::Tf0883ebeforeTff7b72, Tff7b72*Tb4b4b4::Tf0883eafter Tb4b4b4{ Tff7b72box-sizingTb4b4b4: Tff7b72border-boxTb4b4b4; Tff7b72marginTb4b4b4: T79c0ff0Tb4b4b4; Tff7b72paddingTb4b4b4: T79c0ff0Tb4b4b4; Tb4b4b4}

Tb4b4b4:Tf0883eroot Tb4b4b4{
Te6edf3--bgTb4b4b4: T79c0ff#0f1117Tb4b4b4;
Te6edf3--surfaceTb4b4b4: T79c0ff#1a1d27Tb4b4b4;
Te6edf3--borderTb4b4b4: T79c0ff#2a2d3aTb4b4b4;
Te6edf3--accentTb4b4b4: T79c0ff#5b8af5Tb4b4b4;
Te6edf3--accent-hiTb4b4b4: T79c0ff#7ba3ffTb4b4b4;
Te6edf3--successTb4b4b4: T79c0ff#4caf76Tb4b4b4;
Te6edf3--warnTb4b4b4: T79c0ff#e0a742Tb4b4b4;
Te6edf3--textTb4b4b4: T79c0ff#e2e4efTb4b4b4;
Te6edf3--mutedTb4b4b4: T79c0ff#8a8fa8Tb4b4b4;
Te6edf3--radiusTb4b4b4: T79c0ff10Tffa657pxTb4b4b4;
Tb4b4b4}

Tff7b72body Tb4b4b4{
Tff7b72font-familyTb4b4b4: Tff7b72-Te6edf3apple-systemTb4b4b4, Te6edf3BlinkMacSystemFontTb4b4b4, Ta5d6ff"Segoe UI"Tb4b4b4, Tff7b72sans-serifTb4b4b4;
Tff7b72backgroundTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--bgTb4b4b4)Tb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--textTb4b4b4)Tb4b4b4;
Tff7b72min-heightTb4b4b4: T79c0ff100Tffa657vhTb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff2Tffa657rem T79c0ff1Tffa657rem T79c0ff4Tffa657remTb4b4b4;
Tff7b72line-heightTb4b4b4: T79c0ff1.6Tb4b4b4;
Tb4b4b4}

Tff7b72main Tb4b4b4{ Tff7b72max-widthTb4b4b4: T79c0ff680Tffa657pxTb4b4b4; Tff7b72marginTb4b4b4: T79c0ff0 Tff7b72autoTb4b4b4; Tb4b4b4}

T8b949e/* ── Header ─────────────────────────────────────────── */
Tff7b72header Tb4b4b4{ Tff7b72text-alignTb4b4b4: Tff7b72centerTb4b4b4; Tff7b72margin-bottomTb4b4b4: T79c0ff3Tffa657remTb4b4b4; Tb4b4b4}
Tff7b72header Tff7b72h1 Tb4b4b4{
Tff7b72font-sizeTb4b4b4: T79c0ff2Tffa657remTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff700Tb4b4b4;
Tff7b72letter-spacingTb4b4b4: T79c0ff-0.5Tffa657pxTb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--textTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72header Tff7b72h1 Tff7b72span Tb4b4b4{ Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--accentTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72header Tff7b72p Tb4b4b4{ Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4; Tff7b72margin-topTb4b4b4: T79c0ff0.4Tffa657remTb4b4b4; Tff7b72font-sizeTb4b4b4: T79c0ff0.95Tffa657remTb4b4b4; Tb4b4b4}

T8b949e/* ── Steps ──────────────────────────────────────────── */
Tb4b4b4.T56d364step Tb4b4b4{ Tff7b72margin-bottomTb4b4b4: T79c0ff2.2Tffa657remTb4b4b4; Tb4b4b4}
Tb4b4b4.T56d364step-label Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72flexTb4b4b4;
Tff7b72align-itemsTb4b4b4: Tff7b72centerTb4b4b4;
Tff7b72gapTb4b4b4: T79c0ff0.6Tffa657remTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.78Tffa657remTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff700Tb4b4b4;
Tff7b72letter-spacingTb4b4b4: T79c0ff1.5Tffa657pxTb4b4b4;
Tff7b72text-transformTb4b4b4: Tff7b72uppercaseTb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--accentTb4b4b4)Tb4b4b4;
Tff7b72margin-bottomTb4b4b4: T79c0ff0.8Tffa657remTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364step-labelTb4b4b4::Tf0883eafter Tb4b4b4{
Tff7b72contentTb4b4b4: Ta5d6ff''Tb4b4b4;
Tff7b72flexTb4b4b4: T79c0ff1Tb4b4b4;
Tff7b72heightTb4b4b4: T79c0ff1Tffa657pxTb4b4b4;
Tff7b72backgroundTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--borderTb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e/* ── Board cards ────────────────────────────────────── */
Tb4b4b4.T56d364board-grid Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72gridTb4b4b4;
Tff7b72grid-template-columnsTb4b4b4: Td2a8ffrepeatTb4b4b4(T79c0ff3Tb4b4b4, T79c0ff1Te6edf3frTb4b4b4)Tb4b4b4;
Tff7b72gapTb4b4b4: T79c0ff0.75Tffa657remTb4b4b4;
Tb4b4b4}
Tb4b4b4@Tff7b72media Tff7b72(Tff7b72max-widthTff7b72: Tff7b72480pxTff7b72) Tb4b4b4{
Tb4b4b4.T56d364board-grid Tb4b4b4{ Tff7b72grid-template-columnsTb4b4b4: T79c0ff1Te6edf3frTb4b4b4; Tb4b4b4}
Tb4b4b4}
Tb4b4b4.T56d364board-btn Tb4b4b4{
Tff7b72backgroundTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--surfaceTb4b4b4)Tb4b4b4;
Tff7b72borderTb4b4b4: T79c0ff2Tffa657px Tff7b72solid Td2a8ffvarTb4b4b4(Te6edf3--borderTb4b4b4)Tb4b4b4;
Tff7b72border-radiusTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--radiusTb4b4b4)Tb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff0.9Tffa657rem T79c0ff0.5Tffa657remTb4b4b4;
Tff7b72cursorTb4b4b4: Tff7b72pointerTb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--textTb4b4b4)Tb4b4b4;
Tff7b72text-alignTb4b4b4: Tff7b72centerTb4b4b4;
Tff7b72transitionTb4b4b4: Tff7b72border-color T79c0ff0.15Tffa657sTb4b4b4, Tff7b72background T79c0ff0.15Tffa657sTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364board-btnTb4b4b4:Tf0883ehover Tb4b4b4{ Tff7b72border-colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--accentTb4b4b4)Tb4b4b4; Tb4b4b4}
Tb4b4b4.T56d364board-btnTb4b4b4.T56d364active Tb4b4b4{
Tff7b72border-colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--accentTb4b4b4)Tb4b4b4;
Tff7b72backgroundTb4b4b4: T79c0ff#1c2340Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364board-btn Tb4b4b4.T56d364board-name Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72blockTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff600Tb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.95Tffa657remTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364board-btn Tb4b4b4.T56d364board-chip Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72blockTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.75Tffa657remTb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4;
Tff7b72margin-topTb4b4b4: T79c0ff0.2Tffa657remTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364board-btn Tb4b4b4.T56d364board-tag Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72inline-blockTb4b4b4;
Tff7b72margin-topTb4b4b4: T79c0ff0.5Tffa657remTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.7Tffa657remTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff700Tb4b4b4;
Tff7b72letter-spacingTb4b4b4: T79c0ff0.5Tffa657pxTb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--accentTb4b4b4)Tb4b4b4;
Tff7b72backgroundTb4b4b4: Tffa657rgbaTb4b4b4(T79c0ff91Tb4b4b4, T79c0ff138Tb4b4b4, T79c0ff245Tb4b4b4, T79c0ff0.12Tb4b4b4)Tb4b4b4;
Tff7b72border-radiusTb4b4b4: T79c0ff4Tffa657pxTb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff1Tffa657px T79c0ff6Tffa657pxTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364board-btnTb4b4b4.T56d364active Tb4b4b4.T56d364board-tag Tb4b4b4{
Tff7b72backgroundTb4b4b4: Tffa657rgbaTb4b4b4(T79c0ff91Tb4b4b4, T79c0ff138Tb4b4b4, T79c0ff245Tb4b4b4, T79c0ff0.22Tb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e/* ── Mode toggle ────────────────────────────────────── */
Tb4b4b4.T56d364mode-toggle Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72flexTb4b4b4;
Tff7b72gapTb4b4b4: T79c0ff0Tb4b4b4;
Tff7b72backgroundTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--surfaceTb4b4b4)Tb4b4b4;
Tff7b72borderTb4b4b4: T79c0ff1Tffa657px Tff7b72solid Td2a8ffvarTb4b4b4(Te6edf3--borderTb4b4b4)Tb4b4b4;
Tff7b72border-radiusTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--radiusTb4b4b4)Tb4b4b4;
Tff7b72overflowTb4b4b4: Tff7b72hiddenTb4b4b4;
Tff7b72margin-bottomTb4b4b4: T79c0ff1.1Tffa657remTb4b4b4;
Tff7b72widthTb4b4b4: T79c0ff100Tffa657%Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364mode-btn Tb4b4b4{
Tff7b72flexTb4b4b4: T79c0ff1Tb4b4b4;
Tff7b72backgroundTb4b4b4: Tff7b72noneTb4b4b4;
Tff7b72borderTb4b4b4: Tff7b72noneTb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff0.6Tffa657rem T79c0ff0.5Tffa657remTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.85Tffa657remTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff600Tb4b4b4;
Tff7b72cursorTb4b4b4: Tff7b72pointerTb4b4b4;
Tff7b72transitionTb4b4b4: Tff7b72background T79c0ff0.15Tffa657sTb4b4b4, Tff7b72color T79c0ff0.15Tffa657sTb4b4b4;
Tff7b72text-alignTb4b4b4: Tff7b72centerTb4b4b4;
Tff7b72line-heightTb4b4b4: T79c0ff1.3Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364mode-btnTb4b4b4:Tf0883efirst-child Tb4b4b4{ Tff7b72border-rightTb4b4b4: T79c0ff1Tffa657px Tff7b72solid Td2a8ffvarTb4b4b4(Te6edf3--borderTb4b4b4)Tb4b4b4; Tb4b4b4}
Tb4b4b4.T56d364mode-btnTb4b4b4.T56d364active Tb4b4b4{
Tff7b72backgroundTb4b4b4: T79c0ff#1c2340Tb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--textTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364mode-btn Tb4b4b4.T56d364mode-sub Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72blockTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.72Tffa657remTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff400Tb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4;
Tff7b72margin-topTb4b4b4: T79c0ff1Tffa657pxTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364mode-btnTb4b4b4.T56d364active Tb4b4b4.T56d364mode-sub Tb4b4b4{ Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4; Tb4b4b4}

T8b949e/* ── Flash section ──────────────────────────────────── */
Tb4b4b4.T56d364flash-box Tb4b4b4{
Tff7b72backgroundTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--surfaceTb4b4b4)Tb4b4b4;
Tff7b72borderTb4b4b4: T79c0ff1Tffa657px Tff7b72solid Td2a8ffvarTb4b4b4(Te6edf3--borderTb4b4b4)Tb4b4b4;
Tff7b72border-radiusTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--radiusTb4b4b4)Tb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff1.4Tffa657rem T79c0ff1.6Tffa657remTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364flash-box Tff7b72p Tb4b4b4{ Tff7b72font-sizeTb4b4b4: T79c0ff0.9Tffa657remTb4b4b4; Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4; Tff7b72margin-bottomTb4b4b4: T79c0ff1.1Tffa657remTb4b4b4; Tb4b4b4}

Tff7b72esp-web-install-button Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72blockTb4b4b4;
Tb4b4b4}
Tff7b72esp-web-install-buttonTb4b4b4::Tf0883epartTff7b72(Tff7b72buttonTff7b72) Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72inline-flexTb4b4b4;
Tff7b72align-itemsTb4b4b4: Tff7b72centerTb4b4b4;
Tff7b72gapTb4b4b4: T79c0ff0.5Tffa657remTb4b4b4;
Tff7b72backgroundTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--accentTb4b4b4)Tb4b4b4;
Tff7b72colorTb4b4b4: T79c0ff#fffTb4b4b4;
Tff7b72borderTb4b4b4: Tff7b72noneTb4b4b4;
Tff7b72border-radiusTb4b4b4: T79c0ff8Tffa657pxTb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff0.7Tffa657rem T79c0ff1.6Tffa657remTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff1Tffa657remTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff600Tb4b4b4;
Tff7b72cursorTb4b4b4: Tff7b72pointerTb4b4b4;
Tff7b72transitionTb4b4b4: Tff7b72background T79c0ff0.15Tffa657sTb4b4b4;
Tb4b4b4}
Tff7b72esp-web-install-buttonTb4b4b4::Tf0883epartTff7b72(Tff7b72buttonTff7b72)Tb4b4b4:Tf0883ehover Tb4b4b4{
Tff7b72backgroundTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--accent-hiTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364selected-board Tb4b4b4{
Tff7b72font-sizeTb4b4b4: T79c0ff0.82Tffa657remTb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4;
Tff7b72margin-topTb4b4b4: T79c0ff0.9Tffa657remTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364selected-board Tff7b72span Tb4b4b4{ Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--textTb4b4b4)Tb4b4b4; Tff7b72font-weightTb4b4b4: T79c0ff600Tb4b4b4; Tb4b4b4}

T8b949e/* ── Requirements ───────────────────────────────────── */
Tb4b4b4.T56d364req-list Tb4b4b4{
Tff7b72list-styleTb4b4b4: Tff7b72noneTb4b4b4;
Tff7b72displayTb4b4b4: Tff7b72flexTb4b4b4;
Tff7b72flex-directionTb4b4b4: Tff7b72columnTb4b4b4;
Tff7b72gapTb4b4b4: T79c0ff0.5Tffa657remTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364req-list Tff7b72li Tb4b4b4{
Tff7b72displayTb4b4b4: Tff7b72flexTb4b4b4;
Tff7b72align-itemsTb4b4b4: Tff7b72flex-startTb4b4b4;
Tff7b72gapTb4b4b4: T79c0ff0.6Tffa657remTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.9Tffa657remTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364req-list Tff7b72li Tb4b4b4.T56d364icon Tb4b4b4{ Tff7b72flex-shrinkTb4b4b4: T79c0ff0Tb4b4b4; Tb4b4b4}
Tb4b4b4.T56d364req-list Tff7b72li Tb4b4b4.T56d364ok Tb4b4b4{ Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--successTb4b4b4)Tb4b4b4; Tb4b4b4}
Tb4b4b4.T56d364req-list Tff7b72li Tb4b4b4.T56d364warn Tb4b4b4{ Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--warnTb4b4b4)Tb4b4b4; Tb4b4b4}

T8b949e/* ── Flash size note ────────────────────────────────── */
Tff7b72details Tb4b4b4{
Tff7b72backgroundTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--surfaceTb4b4b4)Tb4b4b4;
Tff7b72borderTb4b4b4: T79c0ff1Tffa657px Tff7b72solid Td2a8ffvarTb4b4b4(Te6edf3--borderTb4b4b4)Tb4b4b4;
Tff7b72border-radiusTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--radiusTb4b4b4)Tb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff0.8Tffa657rem T79c0ff1.1Tffa657remTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.88Tffa657remTb4b4b4;
Tb4b4b4}
Tff7b72summary Tb4b4b4{
Tff7b72cursorTb4b4b4: Tff7b72pointerTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff600Tb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4;
Tff7b72list-styleTb4b4b4: Tff7b72noneTb4b4b4;
Tff7b72user-selectTb4b4b4: Tff7b72noneTb4b4b4;
Tb4b4b4}
Tff7b72summaryTb4b4b4::Tf0883e-webkit-details-marker Tb4b4b4{ Tff7b72displayTb4b4b4: Tff7b72noneTb4b4b4; Tb4b4b4}
Tff7b72summaryTb4b4b4::Tf0883ebefore Tb4b4b4{ Tff7b72contentTb4b4b4: Ta5d6ff"▶ "Tb4b4b4; Tff7b72font-sizeTb4b4b4: T79c0ff0.7Tffa657emTb4b4b4; Tb4b4b4}
Tff7b72detailsTff7b72[Tff7b72openTff7b72] Tff7b72summaryTb4b4b4::Tf0883ebefore Tb4b4b4{ Tff7b72contentTb4b4b4: Ta5d6ff"▼ "Tb4b4b4; Tb4b4b4}
Tff7b72details Tff7b72p Tb4b4b4{ Tff7b72margin-topTb4b4b4: T79c0ff0.7Tffa657remTb4b4b4; Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4; Tff7b72line-heightTb4b4b4: T79c0ff1.6Tb4b4b4; Tb4b4b4}
Tff7b72details Tff7b72code Tb4b4b4{
Tff7b72backgroundTb4b4b4: Tffa657rgbaTb4b4b4(T79c0ff255Tb4b4b4,T79c0ff255Tb4b4b4,T79c0ff255Tb4b4b4,T79c0ff0.07Tb4b4b4)Tb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff1Tffa657px T79c0ff5Tffa657pxTb4b4b4;
Tff7b72border-radiusTb4b4b4: T79c0ff4Tffa657pxTb4b4b4;
Tff7b72font-familyTb4b4b4: Te6edf3ui-monospaceTb4b4b4, Tff7b72monospaceTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.9Tffa657emTb4b4b4;
Tb4b4b4}

T8b949e/* ── Footer ─────────────────────────────────────────── */
Tff7b72footer Tb4b4b4{
Tff7b72text-alignTb4b4b4: Tff7b72centerTb4b4b4;
Tff7b72margin-topTb4b4b4: T79c0ff3Tffa657remTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.8Tffa657remTb4b4b4;
Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--mutedTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72footer Tff7b72a Tb4b4b4{ Tff7b72colorTb4b4b4: Td2a8ffvarTb4b4b4(Te6edf3--accentTb4b4b4)Tb4b4b4; Tff7b72text-decorationTb4b4b4: Tff7b72noneTb4b4b4; Tb4b4b4}
Tff7b72footer Tff7b72aTb4b4b4:Tf0883ehover Tb4b4b4{ Tff7b72text-decorationTb4b4b4: Tff7b72underlineTb4b4b4; Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72headTb4b4b4>
Tb4b4b4<Tff7b72bodyTb4b4b4>
Tb4b4b4<Tff7b72mainTb4b4b4>
Tb4b4b4<Tff7b72headerTb4b4b4>
Tb4b4b4<Tff7b72h1Tb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>RTTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Node Firmware FlasherTb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Flash RTNode firmware directly from your browser Te6edf3&mdash; no Python or tools required.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72headerTb4b4b4>

T8b949e<!-- Step 1: Board selection -->
Tb4b4b4<Tff7b72section Te6edf3classTff7b72=Ta5d6ff"step"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"step-label"Tb4b4b4>Step 1 Te6edf3&mdash; Select your boardTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"board-grid"Tb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3classTff7b72=Ta5d6ff"board-btn active"
Te6edf3data-manifestTff7b72=Ta5d6ff"manifest-v3.json"
Te6edf3data-nameTff7b72=Ta5d6ff"Heltec V3"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"board-name"Tb4b4b4>Heltec V3Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"board-chip"Tb4b4b4>ESP32-S3 Te6edf3&middot; 8 MBTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"board-tag"Tb4b4b4>DIOTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3classTff7b72=Ta5d6ff"board-btn"
Te6edf3data-manifestTff7b72=Ta5d6ff"manifest-v4-16mb.json"
Te6edf3data-nameTff7b72=Ta5d6ff"Heltec V4"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"board-name"Tb4b4b4>Heltec V4Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"board-chip"Tb4b4b4>ESP32-S3 Te6edf3&middot; PSRAMTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"board-tag"Tb4b4b4>QIOTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>


Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>

T8b949e<!-- Step 2: Mode + Flash -->
Tb4b4b4<Tff7b72section Te6edf3classTff7b72=Ta5d6ff"step"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"step-label"Tb4b4b4>Step 2 Te6edf3&mdash; Connect Te6edf3&amp; installTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flash-box"Tb4b4b4>

T8b949e<!-- Mode toggle -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mode-toggle"Tb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3classTff7b72=Ta5d6ff"mode-btn active" Te6edf3idTff7b72=Ta5d6ff"mode-update"Tb4b4b4>
Update firmware
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"mode-sub"Tb4b4b4>App only Te6edf3&mdash; settings preservedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3classTff7b72=Ta5d6ff"mode-btn" Te6edf3idTff7b72=Ta5d6ff"mode-full"Tb4b4b4>
First-time install
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"mode-sub"Tb4b4b4>Full flash Te6edf3&mdash; clears all settingsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72p Te6edf3idTff7b72=Ta5d6ff"flash-desc"Tb4b4b4>
Plug your device into USB, then click the button below. Only the
application is flashed Te6edf3&mdash; bootloader, partition table, and all
saved settings (LoRa config, identity, WiFi) are left untouched.
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>

Tb4b4b4<Tff7b72esp-web-install-button Te6edf3idTff7b72=Ta5d6ff"install-btn" Te6edf3manifestTff7b72=Ta5d6ff"manifest-v3.json"Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72esp-web-install-buttonTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"selected-board"Tb4b4b4>
Selected: Tb4b4b4<Tff7b72span Te6edf3idTff7b72=Ta5d6ff"selected-name"Tb4b4b4>Heltec V3Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>

T8b949e<!-- Requirements -->
Tb4b4b4<Tff7b72section Te6edf3classTff7b72=Ta5d6ff"step"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"step-label"Tb4b4b4>RequirementsTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"req-list"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"icon ok"Tb4b4b4>Te6edf3&#10003;Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Google Chrome 89+ or Microsoft Edge Te6edf3&mdash; Web Serial API required
(Firefox and Safari are not supported)Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"icon ok"Tb4b4b4>Te6edf3&#10003;Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>USB cable connected to your RTNode deviceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"icon ok"Tb4b4b4>Te6edf3&#10003;Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>No Python, esptool, or PlatformIO installation neededTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"icon warn"Tb4b4b4>Te6edf3&#9888;Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>On Linux, you may need to add your user to the Tb4b4b4<Tff7b72codeTb4b4b4>dialoutTb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>
group: Tb4b4b4<Tff7b72codeTb4b4b4>sudo usermod -a -G dialout $USERTb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (then log out and
back in)Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72mainTb4b4b4>

Tb4b4b4<Tff7b72footerTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>
RTNode Firmware Te6edf3&mdash;
Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"https://github.com/jrl290/RTNode-HeltecV4" Te6edf3targetTff7b72=Ta5d6ff"_blank" Te6edf3relTff7b72=Ta5d6ff"noopener"Tb4b4b4>
GitHub
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Te6edf3&middot;
Powered by
Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"https://esphome.github.io/esp-web-tools/" Te6edf3targetTff7b72=Ta5d6ff"_blank" Te6edf3relTff7b72=Ta5d6ff"noopener"Tb4b4b4>
ESP Web Tools
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72footerTb4b4b4>

Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72const Te6edf3installBtn Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff'install-btn'Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3selectedLbl Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff'selected-name'Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3flashDesc Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff'flash-desc'Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3modeUpdate Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff'mode-update'Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3modeFull Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff'mode-full'Tb4b4b4)Tb4b4b4;

T8b949e// Board → {update manifest, full manifest}
Tff7b72const Te6edf3BOARDS Tff7b72= Tb4b4b4{
Ta5d6ff'manifest-v3.json'Tff7b72: Tb4b4b4{ Te6edf3updateTff7b72: Ta5d6ff'manifest-v3.json'Tb4b4b4, Te6edf3fullTff7b72: Ta5d6ff'manifest-v3-full.json' Tb4b4b4}Tb4b4b4,
Ta5d6ff'manifest-v4-16mb.json'Tff7b72: Tb4b4b4{ Te6edf3updateTff7b72: Ta5d6ff'manifest-v4-16mb.json'Tb4b4b4, Te6edf3fullTff7b72: Ta5d6ff'manifest-v4-full.json' Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;

Tff7b72let Te6edf3currentBoard Tff7b72= Ta5d6ff'manifest-v3.json'Tb4b4b4;
Tff7b72let Te6edf3currentIsUpdate Tff7b72= Tff7b72trueTb4b4b4;

Tff7b72const Te6edf3UPDATE_DESC Tff7b72= Ta5d6ff"Plug your device into USB, then click the button below. Only the " Tff7b72+
Ta5d6ff"application is flashed \u2014 bootloader, partition table, and all " Tff7b72+
Ta5d6ff"saved settings (LoRa config, identity, WiFi) are left untouched."Tb4b4b4;
Tff7b72const Te6edf3FULL_DESC Tff7b72= Ta5d6ff"\u26A0\uFE0F First-time install: the full firmware image is written from offset 0x0. " Tff7b72+
Ta5d6ff"This is required for new devices or to recover a bricked node. " Tff7b72+
Ta5d6ff"All existing settings will be erased."Tb4b4b4;

Tff7b72function Te6edf3updateButtonTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3manifests Tff7b72= Te6edf3BOARDSTb4b4b4[Te6edf3currentBoardTb4b4b4]Tb4b4b4;
Te6edf3installBtnTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff'manifest'Tb4b4b4, Te6edf3currentIsUpdate Tff7b72? Te6edf3manifestsTb4b4b4.Te6edf3update Tff7b72: Te6edf3manifestsTb4b4b4.Te6edf3fullTb4b4b4)Tb4b4b4;
Te6edf3flashDescTb4b4b4.Te6edf3textContent Tff7b72= Te6edf3currentIsUpdate Tff7b72? Te6edf3UPDATE_DESC Tff7b72: Te6edf3FULL_DESCTb4b4b4;
Tb4b4b4}

Tffa657documentTb4b4b4.Te6edf3querySelectorAllTb4b4b4(Ta5d6ff'.board-btn'Tb4b4b4)Tb4b4b4.Te6edf3forEachTb4b4b4(Te6edf3btn Tb4b4b4=> Tb4b4b4{
Te6edf3btnTb4b4b4.Te6edf3addEventListenerTb4b4b4(Ta5d6ff'click'Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657documentTb4b4b4.Te6edf3querySelectorAllTb4b4b4(Ta5d6ff'.board-btn'Tb4b4b4)Tb4b4b4.Te6edf3forEachTb4b4b4(Te6edf3b Tb4b4b4=> Te6edf3bTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3removeTb4b4b4(Ta5d6ff'active'Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3btnTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3addTb4b4b4(Ta5d6ff'active'Tb4b4b4)Tb4b4b4;
Te6edf3currentBoard Tff7b72= Te6edf3btnTb4b4b4.Te6edf3datasetTb4b4b4.Te6edf3manifestTb4b4b4;
Te6edf3selectedLblTb4b4b4.Te6edf3textContent Tff7b72= Te6edf3btnTb4b4b4.Te6edf3datasetTb4b4b4.Te6edf3nameTb4b4b4;
Te6edf3updateButtonTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;

Te6edf3modeUpdateTb4b4b4.Te6edf3addEventListenerTb4b4b4(Ta5d6ff'click'Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3modeUpdateTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3addTb4b4b4(Ta5d6ff'active'Tb4b4b4)Tb4b4b4;
Te6edf3modeFullTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3removeTb4b4b4(Ta5d6ff'active'Tb4b4b4)Tb4b4b4;
Te6edf3currentIsUpdate Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3updateButtonTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;

Te6edf3modeFullTb4b4b4.Te6edf3addEventListenerTb4b4b4(Ta5d6ff'click'Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3modeFullTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3addTb4b4b4(Ta5d6ff'active'Tb4b4b4)Tb4b4b4;
Te6edf3modeUpdateTb4b4b4.Te6edf3classListTb4b4b4.Te6edf3removeTb4b4b4(Ta5d6ff'active'Tb4b4b4)Tb4b4b4;
Te6edf3currentIsUpdate Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3updateButtonTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72bodyTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72htmlTb4b4b4>

Served by rngit 1.4.2 - Generated in 0.03s